package a.a;

import a.c.ab;
import a.c.d;
import a.c.e;
import a.c.k;
import a.c.q;
import a.c.w;
import a.c.*;
import a.c.y;
import a.c.z;
import a.i.db;
import a.i.i;
import a.i.l;

import java.util.Comparator;

class nb
{
  private d_[] a;
  private e[] b;
  private a.c.n c;
  private a.c.n d;
  private static boolean e = false;
  
  public z a(q paramq, k paramk, e parame1, e parame2, int paramInt)
  {
    z localz = new z();
    localz.a(new f_(paramq, paramk, parame1, parame2, paramInt, paramInt));
    return localz;
  }
  
  public y c(q paramq, k paramk, e parame1, e parame2, int paramInt)
  {
    return new f_(paramq, paramk, parame1, parame2, 31, paramInt);
  }
  
  void a(int paramInt1, int paramInt2)
  {
    int j = m.b;
    boolean bool2 = m.a;
    if (j == 0) {
      if (e) {
        a.i.n.a("buildSidetracksHeap(" + paramInt1 + ',' + paramInt2 + ")");
      }
    }
    d_ locald_ = paramInt2 != -1 ? this.a[paramInt2] : null;
    int i = 0;
    Object localObject1 = null;
    Object localObject2 = this.b[paramInt1].h();
    boolean bool1;
    do
    {
      do
      {
        if (localObject2 == null) {
          break;
        }
        bool1 = this.d.getBool(localObject2);
        double d1 = this.c.getDouble(localObject2);
        if (bool2) {
          break label568;
        }
        if (e) {
          a.i.n.a("edge=" + localObject2 + " isSideTrack=" + bool1 + "  delta=" + d1);
        }
        if (j == 0)
        {
          if (bool1) {
            if ((j != 0) || (localObject1 == null))
            {
              localObject1 = localObject2;
              if (j != 0) {
                continue;
              }
              if (!bool2) {}
            }
            else
            {
              if (d1 < this.c.getDouble(localObject1)) {
                localObject1 = localObject2;
              }
              i++;
            }
          }
          localObject2 = ((d)localObject2).i();
        }
      } while (!bool2);
    } while (j != 0);
    if (localObject1 != null)
    {
      if (j == 0)
      {
        if (e) {
          a.i.n.a("heapSize=" + i + "  min=" + a(localObject1, this.c));
        }
        this.a[paramInt1] = new d_();
        this.a[paramInt1].d = localObject1;
        this.a[paramInt1].g = i;
        if (j == 0) {
          this.a[paramInt1].h = paramInt1;
        }
      }
      else if (i > 0)
      {
        localObject2 = new d[i];
        bool1 = false;
        Object localObject3 = this.b[paramInt1].h();
        label434:
        do
        {
          if (localObject3 == null) {
            break;
          }
          if (bool2) {
            break label492;
          }
          if (this.d.getBool(localObject3))
          {
            if (j != 0) {
              break label434;
            }
            if (localObject3 != localObject1) {
              localObject2[(bool1++)] = localObject3;
            }
          }
          localObject3 = ((d)localObject3).i();
        } while (!bool2);
        localObject3 = new Comparator()
        {
          public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
          {
            return l.a(nb.this.c.getDouble(paramAnonymousObject1), nb.this.c.getDouble(paramAnonymousObject2));
          }
        };
        this.a[paramInt1].e = new c_((Object[])localObject2, (Comparator)localObject3);
        if (j != 0) {
          break label528;
        }
        break label489;
      }
      this.a[paramInt1].e = null;
      label489:
      if (e) {
        label492:
        a.i.n.a("preTreeHeapAdd");
      }
      a(this.a[paramInt1], 0);
      this.a[paramInt1] = a(locald_, this.a[paramInt1]);
      label528:
      if (j == 0)
      {
        if (e) {
          a.i.n.a("postTreeHeapAdd");
        }
        a(this.a[paramInt1], 0);
      }
    }
    else
    {
      this.a[paramInt1] = locald_;
      if (e) {
        label568:
        a.i.n.a("no sidetracks. propagating prev");
      }
    }
  }
  
  void a(e parame1, e parame2, k paramk, ab paramab)
  {
    boolean bool = m.a;
    e locale = parame1;
    do
    {
      if (locale == parame2) {
        break;
      }
      d locald = (d)paramk.get(locale);
      paramab.add(locald);
      locale = locald.f();
    } while (!bool);
  }
  
  void a(d_ paramd_, int paramInt)
  {
    int j = m.b;
    boolean bool = m.a;
    int i = 0;
    do
    {
      if (i >= paramInt) {
        break;
      }
      if (bool) {
        break label65;
      }
      if (e) {
        a.i.n.b(" ");
      }
      i++;
    } while (!bool);
    if (j == 0)
    {
      if (paramd_ == null)
      {
        if (e) {
          a.i.n.a("-");
        }
        return;
      }
      if (e) {
        label65:
        a.i.n.b(a(paramd_.d, this.c) + " nDescent=" + paramd_.c);
      }
      if (e) {
        a.i.n.b(" [");
      }
    }
    if (paramd_.e != null)
    {
      i = 0;
      do
      {
        if (i >= paramd_.g) {
          break;
        }
        if (bool) {
          break label185;
        }
        if (e) {
          a.i.n.b(a((d)paramd_.e.b(i), this.c));
        }
        i++;
      } while (!bool);
    }
    if ((j == 0) && (e)) {
      label185:
      a.i.n.a("]");
    }
    if ((j != 0) || ((paramd_.a == null) && (paramd_.b == null))) {
      return;
    }
    a(paramd_.a, paramInt + 1);
    a(paramd_.b, paramInt + 1);
  }
  
  String a(d paramd, k paramk)
  {
    return "(" + paramd.e().f() + ' ' + paramd.f().f() + ' ' + (int)paramk.getDouble(paramd) + ")";
  }
  
  d_ a(d_ paramd_1, d_ paramd_2)
  {
    int j = m.b;
    boolean bool = m.a;
    if (j == 0)
    {
      if (paramd_1 == null)
      {
        paramd_2.a = (paramd_2.b = null);
        paramd_2.c = 0;
      }
    }
    else {
      return paramd_2;
    }
    if (e) {
      a.i.n.a("newTreeHeapAdd(" + paramd_1.h + "," + paramd_2.h + ")");
    }
    d_ locald_ = (d_)paramd_1.clone();
    locald_.c += 1;
    if ((j != 0) || (locald_.a != null))
    {
      if ((j == 0) && (locald_.b == null)) {
        break label152;
      }
      if (j != 0) {
        break label149;
      }
    }
    label149:
    label152:
    int i = locald_.b.c > locald_.a.c ? 1 : 0;
    if (j == 0) {
      if (this.c.getDouble(locald_.d) > this.c.getDouble(paramd_2.d))
      {
        paramd_2.a = locald_.a;
        paramd_2.b = locald_.b;
        if (j == 0)
        {
          paramd_2.c = locald_.c;
          if (i != 0)
          {
            if (j != 0) {
              break label261;
            }
            paramd_2.a = a(paramd_2.a, locald_);
            if (!bool) {
              break label260;
            }
          }
        }
        paramd_2.b = a(paramd_2.b, locald_);
        label260:
        label261:
        return paramd_2;
      }
    }
    if (j == 0)
    {
      if (i != 0)
      {
        if (j != 0) {
          break label309;
        }
        locald_.a = a(locald_.a, paramd_2);
      }
    }
    else if (!bool) {
      return locald_;
    }
    locald_.b = a(locald_.b, paramd_2);
    label309:
    return locald_;
  }
  
  static class c_
  {
    Object[] a;
    Comparator c;
    int e = 0;
    int f;
    
    c_(int paramInt, Comparator paramComparator)
    {
      this.a = new Object[paramInt];
      this.c = paramComparator;
      this.f = paramInt;
    }
    
    c_(Object[] paramArrayOfObject, Comparator paramComparator)
    {
      this.a = paramArrayOfObject;
      this.c = paramComparator;
      this.e = paramArrayOfObject.length;
      do
      {
        for (int i = paramArrayOfObject.length / 2 - 1; !bool; i--)
        {
          if (i < 0) {
            break;
          }
          a(i);
        }
      } while (j != 0);
    }
    
    void a(int paramInt)
    {
      int m = m.b;
      boolean bool = m.a;
      Object localObject = this.a[paramInt];
      int i = paramInt;
      int j = 2 * paramInt;
      int k = this.e - 1;
      do
      {
        if (j >= k) {
          break;
        }
        if (m != 0) {
          break label144;
        }
        if (bool) {
          break label142;
        }
        if (this.c.compare(this.a[j], this.a[(j + 1)]) > 0) {
          j++;
        }
        if (m == 0)
        {
          if (this.c.compare(localObject, this.a[j]) <= 0) {
            break;
          }
          this.a[i] = this.a[j];
          i = j;
          j *= 2;
        }
      } while (!bool);
      if (m == 0)
      {
        label142:
        if (j == k)
        {
          label144:
          if (m != 0) {
            break label189;
          }
          if (this.c.compare(localObject, this.a[j]) > 0)
          {
            this.a[i] = this.a[j];
            i = j;
          }
        }
        label189:
        this.a[i] = localObject;
      }
    }
    
    void a(Object paramObject)
    {
      int k = m.b;
      boolean bool = m.a;
      if (k == 0) {
        if (this.e == this.f)
        {
          this.f += Math.min(2 * this.f, 1024);
          Object[] arrayOfObject = new Object[this.f];
          System.arraycopy(this.a, 0, arrayOfObject, 0, this.a.length);
          this.a = arrayOfObject;
        }
      }
      int i = this.e;
      if (k == 0)
      {
        if (i > 0)
        {
          int j = i / 2;
          do
          {
            if (this.c.compare(this.a[j], paramObject) <= 0) {
              break;
            }
            this.a[i] = this.a[j];
            i = j;
            if ((k == 0) && (bool)) {
              return;
            }
            if (k == 0)
            {
              if (j <= 0) {
                break;
              }
              j /= 2;
            }
          } while (!bool);
        }
        this.a[i] = paramObject;
        if (k != 0) {}
      }
      else
      {
        this.e += 1;
      }
    }
    
    Object a()
    {
      Object localObject = this.a[0];
      this.a[0] = this.a[(--this.e)];
      a(0);
      return localObject;
    }
    
    boolean b()
    {
      if (m.b == 0) {}
      return this.e == 0;
    }
    
    int c()
    {
      return this.e;
    }
    
    Object b(int paramInt)
    {
      return this.a[paramInt];
    }
  }
  
  static class e_
    implements Cloneable
  {
    nb.d_ a;
    int b;
    e_ c;
    double e;
    
    public Object clone()
    {
      try
      {
        return super.clone();
      }
      catch (CloneNotSupportedException localCloneNotSupportedException)
      {
        throw new InternalError("Bogus");
      }
    }
  }
  
  static class d_
    implements Cloneable
  {
    d_ a;
    d_ b;
    int c;
    d d;
    nb.c_ e;
    int g;
    int h;
    
    public Object clone()
    {
      try
      {
        return super.clone();
      }
      catch (CloneNotSupportedException localCloneNotSupportedException)
      {
        throw new InternalError("Bogus");
      }
    }
  }
  
  class f_
    implements y
  {
    q a;
    k b;
    e c;
    e d;
    int e;
    int f;
    int g = 0;
    nb.e_ h;
    x i;
    x j;
    nb.c_ k;
    nb.e_[] l;
    int m;
    ab n;
    
    f_(q paramq, k paramk, e parame1, e parame2, int paramInt1, int paramInt2)
    {
      this.a = paramq;
      this.b = paramk;
      this.c = parame1;
      this.d = parame2;
      this.e = paramInt1;
      this.f = paramInt2;
      a();
    }
    
    public boolean e()
    {
      return this.n != null;
    }
    
    public void f()
    {
      b();
    }
    
    public Object j()
    {
      return this.n;
    }
    
    void a()
    {
      int i2 = m.b;
      boolean bool = m.a;
      this.n = null;
      this.i = db.a(new d[this.a.j()]);
      this.j = db.a(new double[this.a.j()]);
      Object localObject1 = this.a.w();
      if (((a.c.m)localObject1).e()) {}
      while (i2 != 0)
      {
        this.a.e(((a.c.m)localObject1).a());
        if (i2 != 0) {
          break label135;
        }
        ((a.c.m)localObject1).f();
        if (bool) {
          break label128;
        }
        if (!bool) {
          break;
        }
      }
      fb.a(this.a, this.d, true, this.b, this.j, this.i);
      label128:
      label135:
      do
      {
        localObject1 = this.a.w();
        while (!bool)
        {
          if (!((a.c.m)localObject1).e()) {
            break;
          }
          this.a.e(((a.c.m)localObject1).a());
          ((a.c.m)localObject1).f();
        }
      } while (i2 != 0);
      localObject1 = new z();
      ab localab = new ab();
      if (i2 == 0) {
        if (this.i.get(this.c) == null)
        {
          if (i2 == 0) {
            if (this.c != this.d) {
              return;
            }
          }
        }
        else
        {
          nb.this.a(this.c, this.d, this.i, localab);
          this.n = localab;
        }
      }
      if (i2 == 0) {
        if (this.e > 1)
        {
          nb.this.b = this.a.t();
          nb.this.a = new nb.d_[this.a.j()];
          nb.this.c = db.b(new double[this.a.l()]);
          nb.this.d = db.b(new boolean[this.a.l()]);
          Object localObject2 = this.a.v();
          e locale1;
          d locald1;
          d locald2;
          label571:
          label613:
          label622:
          do
          {
            if (!((w)localObject2).e()) {
              break;
            }
            locale1 = ((w)localObject2).d();
            if (i2 != 0) {
              break label1138;
            }
            locald1 = (d)this.i.get(locale1);
            if (bool) {
              break label1137;
            }
            do
            {
              locald2 = locale1.h();
              if (locald2 == null) {
                break;
              }
            } while (bool);
            if (locald2 != locald1)
            {
              if (i2 != 0) {
                break label571;
              }
              if (this.j.getDouble(locald2.f()) < 1.7976931348623157E+308D)
              {
                double d1 = this.b.getDouble(locald2) - (this.j.getDouble(locale1) - this.j.getDouble(locald2.f()));
                nb.this.c.a(locald2, d1);
                nb.this.d.a(locald2, true);
                if (i2 != 0) {
                  break label622;
                }
                if (!nb.e) {
                  break label613;
                }
                a.i.n.a("sidetrack: " + nb.this.a(locald2, nb.this.c));
                if (i2 != 0) {
                  break label622;
                }
                if (!bool) {
                  break label613;
                }
              }
            }
            do
            {
              if (i2 == 0)
              {
                if (nb.e) {
                  a.i.n.a("shortpath: " + nb.this.a(locald2, this.b));
                }
                locald2 = locald2.i();
              }
              if (!bool) {
                break;
              }
              ((w)localObject2).f();
            } while (i2 != 0);
          } while (!bool);
          localObject2 = new i(this.a.j());
          if (i2 == 0)
          {
            ((i)localObject2).a(this.d);
            label737:
            do
            {
              break label737;
              if (((i)localObject2).f()) {
                break;
              }
              locale1 = (e)((i)localObject2).b();
              e locale2;
              do
              {
                locald1 = (d)this.i.get(locale1);
                nb.this.a(locale1.f(), locald1 == null ? -1 : locald1.f().f());
                locald2 = locale1.i();
                if (locald2 == null) {
                  break;
                }
                locale2 = locald2.e();
                if (i2 != 0) {
                  break label1144;
                }
                if ((i2 == 0) && (bool)) {
                  break label809;
                }
              } while (bool);
              if (this.i.get(locale2) == locald2) {
                ((i)localObject2).a(locale2);
              }
              locald2 = locald2.j();
            } while (!bool);
            if (i2 == 0) {
              label809:
              if (nb.this.a[this.c.f()] != null)
              {
                if ((i2 != 0) || (nb.e))
                {
                  int i1 = 0;
                  do
                  {
                    if (i1 >= nb.this.a.length) {
                      break;
                    }
                    a.i.n.a("tree for  node " + i1);
                    if (i2 != 0) {
                      break label1138;
                    }
                    nb.this.a(nb.this.a[i1], 0);
                    i1++;
                    if (bool) {
                      break label1137;
                    }
                  } while (!bool);
                }
                nb.0 local0 = new nb.0(this);
                this.l = new nb.e_[this.e + 1];
                this.m = 0;
                this.h = new nb.e_();
                this.h.e = nb.this.c.getDouble(nb.this.a[this.c.f()].d);
                this.h.b = -1;
                this.h.a = nb.this.a[this.c.f()];
                this.h.c = null;
                this.k = new nb.c_(4 * (this.e + 1), local0);
                if (i2 != 0) {
                  break label1138;
                }
                this.k.a(this.h.clone());
                if ((i2 == 0) && (nb.e)) {
                  a.i.n.a("HEAPADD " + nb.this.a(this.h.a.d, nb.this.c) + " count=" + this.k.c());
                }
              }
            }
          }
        }
      }
      label1137:
      label1138:
      label1144:
      this.g += 1;
    }
    
    void b()
    {
      int i3 = m.b;
      boolean bool = m.a;
      this.n = null;
      if ((i3 != 0) || (this.k != null)) {
        if (i3 == 0)
        {
          if (!this.k.b()) {
            if (i3 != 0) {
              break label74;
            }
          }
        }
        else {
          if (++this.g <= this.f) {
            break label66;
          }
        }
      }
      return;
      label66:
      label74:
      Object localObject1 = (nb.e_)this.k.b(0);
      ab localab1 = new ab();
      if (i3 == 0) {
        if (nb.e) {
          a.i.n.a("---------------------------------");
        }
      }
      if (i3 == 0)
      {
        if (nb.e) {
          a.i.n.b("top->weight=" + (int)((nb.e_)localObject1).e);
        }
        if (i3 != 0) {}
      }
      else if (((nb.e_)localObject1).b == -1)
      {
        locald1 = ((nb.e_)localObject1).a.d;
        if (i3 != 0) {
          break label197;
        }
        if (!bool) {
          break label188;
        }
      }
      d locald1 = (d)((nb.e_)localObject1).a.e.b(((nb.e_)localObject1).b);
      label188:
      localab1.c(locald1);
      if (nb.e) {
        label197:
        a.i.n.b("  cutArc=" + nb.this.a(locald1, nb.this.c));
      }
      label396:
      label405:
      label457:
      label459:
      do
      {
        nb.e_ locale_;
        if ((locale_ = ((nb.e_)localObject1).c) == null) {
          break;
        }
        if ((i3 == 0) && (bool)) {
          break label473;
        }
        if (locale_.b == -1)
        {
          if (i3 != 0) {
            continue;
          }
          if (((nb.e_)localObject1).b != 0)
          {
            if (i3 != 0) {
              break label459;
            }
            if (((nb.e_)localObject1).a != locale_.a.a)
            {
              if (i3 != 0) {
                break label459;
              }
              if (((nb.e_)localObject1).a == locale_.a.b) {}
            }
          }
        }
        else
        {
          if (i3 == 0)
          {
            if (locale_.b >= 0)
            {
              if (i3 != 0) {
                continue;
              }
              if (((nb.e_)localObject1).b != -1) {
                break label457;
              }
            }
            if (i3 != 0) {}
          }
          else if (locale_.b == -1)
          {
            locald1 = locale_.a.d;
            if (i3 != 0) {
              break label405;
            }
            if (!bool) {
              break label396;
            }
          }
          locald1 = (d)locale_.a.e.b(locale_.b);
          localab1.c(locald1);
          if (i3 != 0) {
            continue;
          }
          if (nb.e)
          {
            if (i3 != 0) {
              continue;
            }
            if (nb.e) {
              a.i.n.a("  cutArc=" + nb.this.a(locald1, this.b));
            }
          }
        }
        localObject1 = locale_;
      } while (!bool);
      if ((i3 == 0) && (nb.e)) {
        label473:
        a.i.n.a("");
      }
      ab localab2 = new ab();
      e locale = this.c;
      Object localObject2 = localab1.l();
      d locald2;
      do
      {
        if (!((a.c.m)localObject2).e()) {
          break;
        }
        locald2 = ((a.c.m)localObject2).a();
        nb.this.a(locale, locald2.e(), this.i, localab2);
        locale = locald2.f();
        localab2.add(locald2);
        ((a.c.m)localObject2).f();
        if (i3 != 0) {
          break label613;
        }
        if (bool) {
          break label608;
        }
      } while (!bool);
      nb.this.a(locale, this.d, this.i, localab2);
      if (i3 == 0) {
        this.n = localab2;
      }
      label608:
      label613:
      if (i3 == 0)
      {
        if (this.l.length <= this.m)
        {
          localObject2 = new nb.e_[this.l.length + Math.min(this.l.length, 1024)];
          System.arraycopy(this.l, 0, localObject2, 0, this.l.length);
          this.l = ((nb.e_[])localObject2);
        }
        tmp698_695 = ((nb.e_)this.k.a());
        this.h.c = tmp698_695;
        this.l[(this.m++)] = tmp698_695;
      }
      if (i3 == 0) {
        if (nb.e) {
          a.i.n.a("HEAPPOP   count=" + this.k.c());
        }
      }
      int i1 = this.h.c.b;
      nb.d_ locald_ = this.h.c.a;
      double d1 = this.h.c.e;
      if (i3 == 0) {
        if (nb.e) {
          a.i.n.a("lastWeight = " + (int)d1 + " lastHeapPos=" + i1);
        }
      }
      if (i1 == -1)
      {
        locald2 = locald_.d;
        if (i3 == 0)
        {
          if (nb.e) {
            a.i.n.a("spawnVertex=" + nb.this.a(locald2, nb.this.c));
          }
          this.h.b = -1;
        }
        if (i3 == 0) {
          if (locald_.a != null)
          {
            if (i3 == 0)
            {
              if (nb.e) {
                a.i.n.a("from->left->arc=" + nb.this.a(locald_.a.d, nb.this.c));
              }
              this.h.a = locald_.a;
              this.h.e = (d1 + nb.this.c.getDouble(this.h.a.d) - nb.this.c.getDouble(locald2));
            }
            if (i3 == 0)
            {
              if (nb.e) {
                a.i.n.a("newPath.weight=" + (int)this.h.e);
              }
              this.k.a(this.h.clone());
            }
            if (nb.e) {
              a.i.n.a("HEAPADD " + nb.this.a(this.h.a.d, nb.this.c) + " count=" + this.k.c());
            }
          }
        }
        if (i3 == 0) {
          if (locald_.b != null)
          {
            if (i3 == 0)
            {
              if (nb.e) {
                a.i.n.a("from->right->arc=" + nb.this.a(locald_.b.d, nb.this.c));
              }
              this.h.a = locald_.b;
              this.h.e = (d1 + nb.this.c.getDouble(this.h.a.d) - nb.this.c.getDouble(locald2));
            }
            if (i3 == 0)
            {
              if (nb.e) {
                a.i.n.a("newPath.weight=" + (int)this.h.e);
              }
              this.k.a(this.h.clone());
            }
            if (i3 != 0) {
              break label1399;
            }
            if (nb.e) {
              a.i.n.a("HEAPADD " + nb.this.a(this.h.a.d, nb.this.c) + " count=" + this.k.c());
            }
          }
        }
        if (i3 != 0) {
          break label2199;
        }
        label1399:
        if (locald_.g <= 0) {
          break label2178;
        }
        if (i3 == 0)
        {
          if (nb.e) {
            a.i.n.a("from->arcHeapSize=" + locald_.g);
          }
          this.h.b = 0;
          this.h.a = locald_;
          this.h.e = (d1 + nb.this.c.getDouble(this.h.a.e.b(0)) - nb.this.c.getDouble(locald2));
          if (i3 != 0) {
            break label2179;
          }
          this.k.a(this.h.clone());
        }
        if (!nb.e) {
          break label2178;
        }
        a.i.n.a("HEAPADD " + nb.this.a((d)this.h.a.e.b(0), nb.this.c) + " count=" + this.k.c());
        if (i3 == 0) {
          if (!bool) {
            break label2178;
          }
        }
      }
      else
      {
        locald2 = (d)locald_.e.b(i1);
      }
      if (i3 == 0)
      {
        if (nb.e) {
          a.i.n.a("spawnVertex=" + nb.this.a(locald2, nb.this.c));
        }
        this.h.a = locald_;
      }
      int i2 = 2 * i1 + 1;
      if (i3 == 0)
      {
        if (locald_.g > i2)
        {
          this.h.b = i2;
          this.h.e = (d1 + nb.this.c.getDouble(this.h.a.e.b(i2)) - nb.this.c.getDouble(locald2));
          if (i3 == 0)
          {
            if (nb.e) {
              a.i.n.a("newPath.heapPos=" + this.h.b + "  from->arcHeap[iChild]=" + nb.this.a((d)locald_.e.b(i2), nb.this.c));
            }
            this.k.a(this.h.clone());
          }
          if (i3 == 0)
          {
            if (nb.e) {
              a.i.n.a("HEAPADD " + nb.this.a((d)this.h.a.e.b(i2), nb.this.c) + " count=" + this.k.c());
            }
            if (i3 != 0) {
              break label2199;
            }
          }
          if (i2++ > i2)
          {
            this.h.b = i2;
            this.h.e = (d1 + nb.this.c.getDouble(this.h.a.e.b(i2)) - nb.this.c.getDouble(locald2));
            if (i3 == 0)
            {
              if (nb.e) {
                a.i.n.a("newPath.heapPos=" + this.h.b + "  from->arcHeap[iChild]=" + nb.this.a((d)locald_.e.b(i2), nb.this.c));
              }
              if (i3 != 0) {
                break label2179;
              }
              this.k.a(this.h.clone());
            }
            if (nb.e) {
              a.i.n.a("HEAPADD " + nb.this.a((d)this.h.a.e.b(i2), nb.this.c) + " count=" + this.k.c());
            }
          }
        }
        label2178:
        label2179:
        if (i3 != 0) {
          break label2234;
        }
      }
      if (nb.this.a[locald2.f().f()] != null)
      {
        label2199:
        this.h.b = -1;
        this.h.a = nb.this.a[locald2.f().f()];
        label2234:
        this.h.e = (d1 + nb.this.c.getDouble(this.h.a.d));
        if (i3 == 0)
        {
          if (nb.e) {
            a.i.n.a("pathGraph[spawnVertex->dest]->arc" + nb.this.a(this.h.a.d, nb.this.c) + " newPath.weight=" + (int)this.h.e);
          }
          this.k.a(this.h.clone());
        }
        if (nb.e) {
          a.i.n.a("HEAPADD " + nb.this.a(this.h.a.d, nb.this.c) + " count=" + this.k.c());
        }
      }
    }
    
    public void g()
    {
      throw new UnsupportedOperationException("prev() not supported");
    }
    
    public void h()
    {
      throw new UnsupportedOperationException("toFirst() not supported");
    }
    
    public void i()
    {
      throw new UnsupportedOperationException("toLast() not supported");
    }
    
    public int k()
    {
      throw new UnsupportedOperationException("size() not supported");
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.a.nb

 * JD-Core Version:    0.7.0.1

 */